package com.zitangkou.user.domain.converter;

import java.util.List;

/**
 * 基础领域层转化类
 *
 * @author dengningning
 * @date 2021/2/26 23:51
 */
public interface BaseDomainConverter<M, D> {

    /**
     * 领域层转实体层
     *
     * @param domain
     * @return D
     * @date 2021/2/26 23:53
     */
    D toDo(M domain);

    /**
     * 实体层转领域层
     *
     * @param dto
     * @return M
     * @date 2021/2/26 23:53
     */
    M toDomain(D dto);

    /**
     * 领域层列表转实体层列表
     *
     * @param domainList
     * @return java.util.List<D>
     * @date 2021/2/26 23:54
     */
    List<D> toDoList(List<M> domainList);

    /**
     * 实体层列表转领域层列表
     *
     * @param dtoList
     * @return java.util.List<M>
     * @date 2021/2/26 23:54
     */
    List<M> toDomainList(List<D> dtoList);
}
